package com.lill.sale.service;

import java.util.List;
import java.util.Map;

import org.apache.poi.xwpf.usermodel.XWPFDocument;

import com.lill.sale.model.SaleBookModel;

/**
 * 销售台账Service接口
 *
 * @author lill
 * @date 2021-09-25 11:41:47
 */
public interface ISaleBookService {

    /**
     * 根据主键查询实体
     *
     * @param id 主键
     * @return 实体
     */
    SaleBookModel queryObject(String id);
    
    /**
     * 分页查询
     *
     * @param map 参数
     * @return list
     */
    List<SaleBookModel> queryList(Map<String, Object> map);

    /**
     * 分页统计总数
     *
     * @param map 参数
     * @return 总数
     */
    int queryTotal(Map<String, Object> map);

    /**
     * 保存实体
     *
     * @param saleBook 实体
     * @return 保存条数
     */
    int save(SaleBookModel saleBook);

    /**
     * 根据主键更新实体
     *
     * @param saleBook 实体
     * @return 更新条数
     */
    int update(SaleBookModel saleBook);

    /**
     * 逻辑删除
     * @param map
     * @return
     */
    int deleteLogicByMap(Map<String, Object> map);
    /**
     * 更新合同状态
     * @param mapParam
     * @param personId 
     * @return
     */
	int updateSate(Map<String, Object> mapParam);
	/**
     * 作废合同状态
     * @param mapParam
     * @return
     */
	int cancelSate(Map<String, Object> mapParam);
	
	/**
	 * 获取模板数据到处
	 * @param id
	 * @return
	 */
	XWPFDocument downLoadBookData(String id);
	/**
	 * 合同收余款
	 * @param mapParam
	 * @param personId
	 * @return
	 */
	int updateReceipt(Map<String, Object> mapParam, String personId);
}
